﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using KaraokeManagementDTO;
using System.Data;
using System.Data.OleDb;

namespace KaraokeManagementDAO
{
    public class DonViTinhDAO:DataProvider
    {
        public List<DonViTinhDTO> layDanhSachDonViTinh()
        {
            List<DonViTinhDTO> listDonViTinh = new List<DonViTinhDTO>();

            List<OleDbParameter> para = new List<OleDbParameter>();

            //Câu truy vấn lấy dữ liệu
            String query = "select * from DonViTinh";


            //DataTable
            DataTable dt = new DataTable();
            dt = ExecuteQuery(query, para);

            if (dt.Rows.Count == 0)
                return null;

            foreach (DataRow row in dt.Rows)
            {
                DonViTinhDTO dto = new DonViTinhDTO();
                dto.ID = int.Parse(row["ID"].ToString());
                dto.TenDonViTinh = row["TenDonViTinh"].ToString();
                listDonViTinh.Add(dto);

            }


            return listDonViTinh;
        }


        public DonViTinhDTO layThongTinDonViTinh(int MaDonViTinh)
        {
            DonViTinhDTO dvt = new DonViTinhDTO();

            List<OleDbParameter> para = new List<OleDbParameter>();

            //Câu truy vấn lấy dữ liệu
            String query = "select * from DonViTinh where ID=@MaDonViTinh";
            para.Add(new OleDbParameter("@MaDonViTinh",MaDonViTinh));

            //DataTable
            DataTable dt = new DataTable();
            dt = ExecuteQuery(query, para);

            if (dt.Rows.Count == 0)
                return null;

            DataRow row = dt.Rows[0];

            dvt.ID = int.Parse(row["ID"].ToString());
            dvt.TenDonViTinh = row["TenDonViTinh"].ToString();


            return dvt;
        }

        public Boolean themDonViTinh(DonViTinhDTO dto)
        {
            List<OleDbParameter> para = new List<OleDbParameter>();

            //Câu truy vấn lấy dữ liệu
            String query = "insert into DonViTinh(ID, TenDonViTinh) values(@ID, @TenDonViTinh)";
            para.Add(new OleDbParameter("@ID", dto.ID));
            para.Add(new OleDbParameter("@TenDonViTinh", dto.TenDonViTinh));

            if (ExecuteNoneQuery(query, para)<0)
            {
                return false;
            }

            return true;
        }


        public Boolean xoaDonViTinh(int MaDonViTinh)
        {
            List<OleDbParameter> para = new List<OleDbParameter>();

            //Câu truy vấn lấy dữ liệu
            String query = "delete from DonViTinh where ID=@MaDonViTinh";
            para.Add(new OleDbParameter("@ID", MaDonViTinh));

            if (ExecuteNoneQuery(query, para) < 0)
            {
                return false;
            }

            return true;
        }


        public Boolean capNhatDonViTinh(DonViTinhDTO dto)
        {
            List<OleDbParameter> para = new List<OleDbParameter>();

            //Câu truy vấn lấy dữ liệu
            String query = "update DonViTinh set TenDonViTinh=@TenDonViTinh where ID=@ID";
            para.Add(new OleDbParameter("@TenDonViTinh", dto.TenDonViTinh));
            para.Add(new OleDbParameter("@ID", dto.ID));

            if (ExecuteNoneQuery(query, para) < 0)
            {
                return false;
            }

            return true;
        }
    }
}
